package py.progweb.sgc.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the REGLAS database table.
 * 
 */
@Entity
@Table(name="REGLAS")
public class Regla extends EntidadBase implements Serializable {
	private static final long serialVersionUID = 1L;
	private long codReglaPk;
	private Date fecFechaCreacion;
	private String strCondicion;
	private String strCuerpo;
	private String strUsrCreacion;
	private OrigenDato origenDato;
	private VersionGrupoRegla versionGrupoRegla;

    public Regla() {
    }


	@Id
	@SequenceGenerator(name="REGLAS_CODREGLAPK_GENERATOR", sequenceName="SQ_PK_REGLAS")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="REGLAS_CODREGLAPK_GENERATOR")
	@Column(name="COD_REGLA_PK")
	public long getCodReglaPk() {
		return this.codReglaPk;
	}

	public void setCodReglaPk(long codReglaPk) {
		this.codReglaPk = codReglaPk;
	}


	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="FEC_FECHACREACION")
	public Date getFecFechaCreacion() {
		return this.fecFechaCreacion;
	}

	public void setFecFechaCreacion(Date fecFechaCreacion) {
		this.fecFechaCreacion = fecFechaCreacion;
	}


	@Column(name="STR_CONDICION")
	public String getStrCondicion() {
		return this.strCondicion;
	}

	public void setStrCondicion(String strCondicion) {
		this.strCondicion = strCondicion;
	}


	@Column(name="STR_CUERPO")
	public String getStrCuerpo() {
		return this.strCuerpo;
	}

	public void setStrCuerpo(String strCuerpo) {
		this.strCuerpo = strCuerpo;
	}


	@Column(name="STR_USRCREACION")
	public String getStrUsrCreacion() {
		return this.strUsrCreacion;
	}

	public void setStrUsrCreacion(String strUsrCreacion) {
		this.strUsrCreacion = strUsrCreacion;
	}


	//bi-directional many-to-one association to Origendato
    @ManyToOne
	@JoinColumn(name="COD_ORIGENDATO")
	public OrigenDato getOrigenDato() {
		return this.origenDato;
	}

	public void setOrigenDato(OrigenDato origendato) {
		this.origenDato = origendato;
	}
	

	//bi-directional many-to-one association to Versiongruporegla
    @ManyToOne
	@JoinColumn(name="COD_VERGRPREGLA")
	public VersionGrupoRegla getVersionGrupoRegla() {
		return this.versionGrupoRegla;
	}

	public void setVersionGrupoRegla(VersionGrupoRegla versiongruporegla) {
		this.versionGrupoRegla = versiongruporegla;
	}


	@Override
	public Object getPK() {
		return getCodReglaPk();
	}
	
}